import axios from "axios";
import { Toast } from "antd-mobile";

/* 
1 提取接口的公共的路径 => 方便后期的接口地址的修改 
  1 axios的默认配置即可

2 在请求发送出去的之前  显示一个正在加载中的小图标 
  在请求回来了，加载中的图标 自动 隐藏 
  1 加载中的图标在哪里 => ul框架有 
  2 代码放在哪里来调用比较适合 = > 利用axios的拦截器功能 
    1 可以在发送请求之前 处理一下
    2 可以在请求成功后 处理一下 
 */

export const baseURL = process.env.REACT_APP_URL;
axios.defaults.baseURL = baseURL;

// 1 同时发送异步请求的个数
let AjaxTimes = 0;

// 添加请求拦截器
axios.interceptors.request.use(function (config) {
  AjaxTimes++;
  Toast.loading("加载中...", 0);
  return config;
}, function (error) {
  return Promise.reject(error);
});

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
  AjaxTimes--;
  if (AjaxTimes === 0) {
    // 最后一个回来了
    // console.log("最后一个请求回来了");
    Toast.hide();
  }
  return response;
}, function (error) {
  return Promise.reject(error);
});


export default axios;